﻿

using Microsoft.AspNetCore.Http;
using Tauren.File.Entity.Config;
using Tauren.File.Entity.Global;
using Tauren.File.Entity.Input;

namespace Tauren.File.Service.FileBLL
{
    /// <summary>
    /// 文件信息
    /// </summary>
    public interface IFileService
    {
        /// <summary>
        /// 添加文件信息
        /// </summary>
        /// </summary>
        /// <param name="model">文件版本信息实体</param>
        /// <returns></returns>
        IResponseMessage Add(Files_Input model);
        /// <summary>
        /// 修改文件信息
        /// </summary>
        /// </summary>
        /// <param name="model">文件版本信息实体</param>
        /// <returns></returns>
        IResponseMessage Edit(Files_Input model);

        /// <summary>
        /// 删除文件信息
        /// </summary>
        /// </summary>
        /// <param name="id">文件ID</param>
        /// <returns></returns>
        IResponseMessage Delete(long id);

        /// <summary>
        /// 获取文件信息
        /// </summary>
        /// </summary>
        /// <param name="model">文件版本信息实体</param>
        /// <returns></returns>
        IResponseMessage Get(object id);


        /// <summary>
        /// 根据主键ID获取数据
        /// </summary>
        /// <param name="AutoID"></param>
        /// <returns></returns>
        IResponseMessage Config(string PageType);


        /// <summary>
        /// 禁用数据
        /// </summary>
        /// <param name="AutoID"></param>
        /// <returns></returns>
        IResponseMessage Enable(long AutoID);
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="file"></param>
        /// <param name="folderId"></param>
        /// <returns></returns>
        IResponseMessage Upload(IFormFile file, long folderId);

        /// <summary>
        /// 根据ID获取相关文件
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        IResponseMessage GetFiles(string[] ids);
        /// <summary>
        /// 删除上传过程中不要的文件
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        IResponseMessage UploadDelete(string[] ids);
        /// <summary>
        /// 分页获取数据
        /// </summary>
        /// <param name="queryModel"></param>
        /// <returns></returns>
        IResponseMessage Pages(QueryModel queryModel);

        /// <summary>
        ///保存头像数据
        /// </summary>
        /// <param name="fileid"></param>
        /// <returns></returns>
        IResponseMessage SavePhoto(long fileid,int empid);

        /// <summary>
        /// 获取头像
        /// </summary>
        /// <returns></returns>
        IResponseMessage GetPhoto(int empid);

    }
}
